﻿// *----------------------------------------------------------------
// Copyright (C) 2017 通通优品
// 版权所有。
// 
// 类名：IStartupConfiguration.cs
// 功能描述：TongTongMall
// 
// Create User：jym 2017/02/09
// 
// Edit User：UserName,EditTime
// Describe：Describe
// ----------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TongTongMall.Dependecy;
using TongTongMall.Domain.Uow;
using TongTongMall.Runtime.Caching.Configuration;

namespace TongTongMall.Configuration.Startup
{
    /// <summary>
    /// 全局配置类，作用到各个模块化内部
    /// </summary>
    public interface IStartupConfiguration : IDictionaryBasedConfig
    {
        /// <summary>
        /// 初始化启动项配置
        /// </summary>
        void Initialize();

        /// <summary>
        /// Ioc容器
        /// </summary>
        IIocManager IocManager { get; }

        /// <summary>
        /// Setting配置
        /// </summary>
        ISettingsConfiguration Settings { get; }

        /// <summary>
        /// 模块配置
        /// </summary>
        IModuleConfigurations Modules { get; }

        /// <summary>
        /// unitofwork 默认配置
        /// </summary>
        IUnitOfWorkDefaultOptions UnitOfWork { get; }

        /// <summary>
        /// 缓存配置信息
        /// </summary>
        ICachingConfiguration Caching { get; }
    }
}
